/**
 ***************************************************************************************************
 *
 * @file app_common.h
 *
 * @brief some common function interface
 *
 * Copyright (C) Eker 2021
 *
 *
 ***************************************************************************************************
 */
#ifndef __APP_COMMON_H__
#define __APP_COMMON_H__

/*
 * INCLUDE FILES
 ***************************************************************************************************
 */
#include <stdint.h>

/*
 * TYPEDEFS
 ***************************************************************************************************
 */

/*
 * EXTERN VARIABLES
 ***************************************************************************************************
 */

/*
 * EXTERN FUNCTIONS
 ***************************************************************************************************
 */

/*
 * GLOBAL FUNCTIONS
 ***************************************************************************************************
 */
/**
 ***************************************************************************************************
 * @brief BT controller PHY request
 *
 * @param void
 *
 * @return void
 ***************************************************************************************************
 */
void app_phy_req(void);

/**
 ***************************************************************************************************
 * @brief BLE packet size request
 *
 * @param void
 *
 * @return void
 ***************************************************************************************************
 */
void app_le_pkt_size_req(void);

/**
 ***************************************************************************************************
 * @brief MTU exchange request
 *
 * @param void
 *
 * @return void
 ***************************************************************************************************
 */
void app_mtu_exchange_req(void);

/**
 ***************************************************************************************************
 * @brief Send request of HW AES data encryption
 *
 * @param[in] data: data to be encrypted, 16 bytes once
 *
 * @return void
 ***************************************************************************************************
 */
void app_aes_encrypt(uint8_t *data);

/**
 ***************************************************************************************************
 * @brief Enable or disable one frequecy single tone
 *
 * @param[in] enable: true -> enable, false -> disable
 * @param[in] freq: rf frequecy, 2402 - 2480 MHz
 *
 * @return void
 ***************************************************************************************************
 */
void app_rf_carrier_enable(bool enable, uint32_t freq);

#endif /* __APP_COMMON_H__ */
